package com.tencent.wepay.protocol.pay.domain;

import com.tencent.wepay.constant.enums.TradeTypeEnum;

public class Refund{
	private String deviceInfo;
	private String tradeNo;
	private String transactionId;
	private String outRefundNo;
	private Integer totalFee;
	private Integer refundFee;
	private TradeTypeEnum tradeType;
	public static class Builder{
		private String deviceInfo;
		private String tradeNo;
		private String transactionId;
		private String outRefundNo;
		private Integer totalFee;
		private Integer refundFee;
		private TradeTypeEnum tradeType;
		public Builder(String outRefundNo,Integer totalFee,Integer refundFee,TradeTypeEnum tradeType) {
			this.outRefundNo=outRefundNo;
			this.totalFee=totalFee;
			this.refundFee=refundFee;
			this.tradeType=tradeType;
		}
		public Builder tradeNo(String tradeNo){
			this.tradeNo=tradeNo;
			return this;
		}
		public Builder transactionId(String transactionId){
			this.transactionId=transactionId;
			return this;
		}
		public Builder deviceInfo(String deviceInfo){
			this.deviceInfo=deviceInfo;
			return this;
		}
		public Refund build(){
			return new Refund(this);
		}
	}
	private Refund(Builder builder) {
		this.deviceInfo=builder.deviceInfo;
		this.outRefundNo=builder.outRefundNo;
		this.refundFee=builder.refundFee;
		this.totalFee=builder.totalFee;
		this.tradeNo=builder.tradeNo;
		this.transactionId=builder.transactionId;
		this.tradeType=builder.tradeType;
	}
	public String getDeviceInfo() {
		return deviceInfo;
	}
	public void setDeviceInfo(String deviceInfo) {
		this.deviceInfo = deviceInfo;
	}
	public String getTradeNo() {
		return tradeNo;
	}
	public void setTradeNo(String tradeNo) {
		this.tradeNo = tradeNo;
	}
	public String getTransactionId() {
		return transactionId;
	}
	public void setTransactionId(String transactionId) {
		this.transactionId = transactionId;
	}
	public String getOutRefundNo() {
		return outRefundNo;
	}
	public void setOutRefundNo(String outRefundNo) {
		this.outRefundNo = outRefundNo;
	}
	public Integer getTotalFee() {
		return totalFee;
	}
	public void setTotalFee(Integer totalFee) {
		this.totalFee = totalFee;
	}
	public Integer getRefundFee() {
		return refundFee;
	}
	public void setRefundFee(Integer refundFee) {
		this.refundFee = refundFee;
	}
	public TradeTypeEnum getTradeType() {
		return tradeType;
	}
	public void setTradeType(TradeTypeEnum tradeType) {
		this.tradeType = tradeType;
	}
}
